package com.myproject.mall.user.service;

import com.myproject.mall.domain.dto.PasswordForm;
import com.myproject.mall.domain.dto.RegistrationFormDTO;
import com.myproject.mall.domain.entity.User;
import com.myproject.mall.domain.vo.ShopVO;
import com.myproject.mall.domain.vo.UserVO;

import java.util.List;

public interface IUserService {
    public UserVO loginByPassword(String phone, String password);
    public UserVO loginByCode(String phone, String code);
    public String sendCode(String phone);
    public User findUserById(String id);
    public UserVO register(RegistrationFormDTO form);

    void updateUserInfo(User user);

    void updateUserPassword(PasswordForm passwordForm);

    String generateToken(String id, String username, String phone);

    UserVO getMe();

    void follow(Long shopId, Boolean isFollow);

    List<ShopVO> getFollowList();

    Boolean isFollow(Long shopId);
}
